﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using YJYpublicClass.DataStruct;

namespace 检测.CommonClass
{
    public class SystemINI
    {
        public IniString_C _图片保存=new IniString_C("系统","图片保存","False");
        public IniString_C _OKnum1 = new IniString_C("系统", "OKnum1", "0");
        public IniString_C _NGnum1 = new IniString_C("系统", "NGnum1", "0");
        public IniString_C _OKnum2 = new IniString_C("系统", "OKnum2", "0");
        public IniString_C _NGnum2 = new IniString_C("系统", "NGnum2", "0");
        public IniString_C _启用检测 = new IniString_C("系统", "启用检测", "False");
        public IniString_C _上一次打开日期 = new IniString_C("系统", "上一次打开日期", "1949-10-01");
        public void _saveall()
        {
            Type type = this.GetType();

            // 获取所有字段（Field），包括 private 的
            FieldInfo[] fields = type.GetFields(
                BindingFlags.Public |
                BindingFlags.NonPublic |
                BindingFlags.Instance);

            foreach (FieldInfo field in fields)
            {
                // 检查字段类型是否是 IniString_C
                if (field.FieldType == typeof(IniString_C))
                {
                    // 获取字段值
                    IniString_C iniValue = (IniString_C)field.GetValue(this);

                    // 调用 Save() 方法
                    iniValue.save();
                }
            }
        }
        public void _loadall()
        {
            Type type = this.GetType();

            // 获取所有字段（Field），包括 private 的
            FieldInfo[] fields = type.GetFields(
                BindingFlags.Public |
                BindingFlags.NonPublic |
                BindingFlags.Instance);

            foreach (FieldInfo field in fields)
            {
                // 检查字段类型是否是 IniString_C
                if (field.FieldType == typeof(IniString_C))
                {
                    // 获取字段值
                    IniString_C iniValue = (IniString_C)field.GetValue(this);

                    // 调用 Save() 方法
                    iniValue.load();
                }
            }
        }
    }
}
